[INFO] fetching crate gluon_codegen 0.18.2...
[INFO] checking gluon_codegen-0.18.2 against master#4eb62535fc12dd1a63fd43a4173e224e79313c4d for pr-158816
[INFO] extracting crate gluon_codegen 0.18.2 into /workspace/builds/worker-4-tc1/source
[INFO] started tweaking crates.io crate gluon_codegen 0.18.2
[INFO] finished tweaking crates.io crate gluon_codegen 0.18.2
[INFO] tweaked toml for crates.io crate gluon_codegen 0.18.2 written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate gluon_codegen 0.18.2 on toolchain 4eb62535fc12dd1a63fd43a4173e224e79313c4d
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4eb62535fc12dd1a63fd43a4173e224e79313c4d" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4eb62535fc12dd1a63fd43a4173e224e79313c4d" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 144 packages to latest compatible versions
[INFO] [stderr]       Adding env_logger v0.9.3 (available: v0.11.11)
[INFO] [stderr]       Adding syn v1.0.109 (available: v2.0.118)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4eb62535fc12dd1a63fd43a4173e224e79313c4d" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded typed-arena v2.0.2
[INFO] [stderr]   Downloaded pretty v0.10.0
[INFO] [stderr]   Downloaded serde_state v0.4.9
[INFO] [stderr]   Downloaded serde_derive_state v0.4.11
[INFO] [stderr]   Downloaded lalrpop-util v0.19.12
[INFO] [stderr]   Downloaded ordered-float v2.10.1
[INFO] [stderr]   Downloaded codespan v0.11.1
[INFO] [stderr]   Downloaded collect-mac v0.1.0
[INFO] [stderr]   Downloaded ascii-canvas v3.0.0
[INFO] [stderr]   Downloaded gluon_format v0.18.2
[INFO] [stderr]   Downloaded string_cache v0.8.9
[INFO] [stderr]   Downloaded gluon_codegen v0.18.2
[INFO] [stderr]   Downloaded archery v0.4.0
[INFO] [stderr]   Downloaded gluon-salsa-macros v0.15.2
[INFO] [stderr]   Downloaded humantime v2.4.0
[INFO] [stderr]   Downloaded env_logger v0.9.3
[INFO] [stderr]   Downloaded gluon_parser v0.18.2
[INFO] [stderr]   Downloaded ena v0.14.4
[INFO] [stderr]   Downloaded frunk_core v0.4.4
[INFO] [stderr]   Downloaded rpds v0.10.0
[INFO] [stderr]   Downloaded gluon_base v0.18.2
[INFO] [stderr]   Downloaded gluon_vm v0.18.2
[INFO] [stderr]   Downloaded gluon_check v0.18.2
[INFO] [stderr]   Downloaded gluon v0.18.2
[INFO] [stderr]   Downloaded lalrpop v0.19.12
[INFO] [stderr]   Downloaded gluon-salsa v0.15.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 7b8752cc25639f4b2f8ddedf34c62e5ba5210f2216926113fb2eda9baaccc7e9
[INFO] running `Command { std: "docker" "start" "7b8752cc25639f4b2f8ddedf34c62e5ba5210f2216926113fb2eda9baaccc7e9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7b8752cc25639f4b2f8ddedf34c62e5ba5210f2216926113fb2eda9baaccc7e9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "7b8752cc25639f4b2f8ddedf34c62e5ba5210f2216926113fb2eda9baaccc7e9" "/opt/rustwide/cargo-home/bin/cargo" "+4eb62535fc12dd1a63fd43a4173e224e79313c4d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7b8752cc25639f4b2f8ddedf34c62e5ba5210f2216926113fb2eda9baaccc7e9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "7b8752cc25639f4b2f8ddedf34c62e5ba5210f2216926113fb2eda9baaccc7e9" "/opt/rustwide/cargo-home/bin/cargo" "+4eb62535fc12dd1a63fd43a4173e224e79313c4d" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling quote v1.0.46
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]     Checking memchr v2.8.3
[INFO] [stderr]    Compiling serde_derive_state v0.4.11
[INFO] [stderr]    Compiling smallvec v1.15.2
[INFO] [stderr]    Compiling log v0.4.33
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling ahash v0.7.8
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]    Compiling either v1.16.0
[INFO] [stderr]     Checking termcolor v1.4.1
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling dirs-sys-next v0.1.2
[INFO] [stderr]     Checking once_cell v1.21.4
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling crunchy v0.2.4
[INFO] [stderr]    Compiling regex-syntax v0.8.11
[INFO] [stderr]    Compiling lock_api v0.4.14
[INFO] [stderr]     Checking futures-core v0.3.32
[INFO] [stderr]    Compiling dirs-next v2.0.0
[INFO] [stderr]     Checking typed-arena v2.0.2
[INFO] [stderr]    Compiling hashbrown v0.17.1
[INFO] [stderr]    Compiling tiny-keccak v2.0.2
[INFO] [stderr]     Checking futures-sink v0.3.32
[INFO] [stderr]     Checking arrayvec v0.5.2
[INFO] [stderr]    Compiling siphasher v1.0.3
[INFO] [stderr]     Checking futures-channel v0.3.32
[INFO] [stderr]     Checking hashbrown v0.11.2
[INFO] [stderr]     Checking aho-corasick v1.1.4
[INFO] [stderr]    Compiling term v0.7.0
[INFO] [stderr]     Checking pretty v0.10.0
[INFO] [stderr]    Compiling phf_shared v0.11.3
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling new_debug_unreachable v1.0.6
[INFO] [stderr]    Compiling unicode-width v0.1.14
[INFO] [stderr]     Checking futures v0.1.31
[INFO] [stderr]    Compiling syn v2.0.118
[INFO] [stderr]     Checking quick-error v2.0.1
[INFO] [stderr]     Checking collect-mac v0.1.0
[INFO] [stderr]    Compiling fixedbitset v0.4.2
[INFO] [stderr]     Checking vec_map v0.8.2
[INFO] [stderr]     Checking anymap v0.12.1
[INFO] [stderr]    Compiling parking_lot_core v0.8.6
[INFO] [stderr]    Compiling bit-vec v0.6.3
[INFO] [stderr]    Compiling precomputed-hash v0.1.1
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling string_cache v0.8.9
[INFO] [stderr]    Compiling ascii-canvas v3.0.0
[INFO] [stderr]     Checking ordered-float v2.10.1
[INFO] [stderr]    Compiling ena v0.14.4
[INFO] [stderr]    Compiling bit-set v0.5.3
[INFO] [stderr]     Checking instant v0.1.13
[INFO] [stderr]    Compiling is-terminal v0.4.17
[INFO] [stderr]    Compiling regex-syntax v0.6.29
[INFO] [stderr]    Compiling unicode-xid v0.2.6
[INFO] [stderr]    Compiling diff v0.1.13
[INFO] [stderr]     Checking archery v0.4.0
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]    Compiling crossbeam-utils v0.7.2
[INFO] [stderr]    Compiling unicode-segmentation v1.13.3
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling crossbeam-utils v0.8.22
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]     Checking parking_lot v0.11.2
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling heck v0.3.3
[INFO] [stderr]     Checking rpds v0.10.0
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling gluon_vm v0.18.2
[INFO] [stderr]     Checking serde_json v1.0.150
[INFO] [stderr]     Checking petgraph v0.6.5
[INFO] [stderr]     Checking downcast-rs v1.2.1
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking oorandom v11.1.5
[INFO] [stderr]     Checking rustc-hash v1.1.0
[INFO] [stderr]     Checking frunk_core v0.4.4
[INFO] [stderr]     Checking rand_xorshift v0.3.0
[INFO] [stderr]     Checking rand v0.8.6
[INFO] [stderr]     Checking tokio v1.52.3
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking humantime v2.4.0
[INFO] [stderr]     Checking gluon_codegen v0.18.2 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling gluon_codegen v0.18.2
[INFO] [stderr]    Compiling gluon-salsa-macros v0.15.2
[INFO] [stderr]    Compiling regex v1.12.4
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/pushable.rs:218:33
[INFO] [stdout]     |
[INFO] [stdout] 218 | fn get_info_from_fields(fields: &Fields) -> (Vec<Cow<Ident>>, Vec<&Type>) {
[INFO] [stdout]     |                                 ^^^^^^^          ^^^^^^^^^^       ^^^^^ the same lifetime is elided here
[INFO] [stdout]     |                                 |                |
[INFO] [stdout]     |                                 |                the same lifetime is hidden here
[INFO] [stdout]     |                                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 218 | fn get_info_from_fields(fields: &Fields) -> (Vec<Cow<'_, Ident>>, Vec<&Type>) {
[INFO] [stdout]     |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/trace.rs:206:33
[INFO] [stdout]     |
[INFO] [stdout] 206 | fn get_info_from_fields(fields: &Fields) -> (Vec<Cow<Ident>>, Vec<&Type>) {
[INFO] [stdout]     |                                 ^^^^^^^          ^^^^^^^^^^       ^^^^^ the same lifetime is elided here
[INFO] [stdout]     |                                 |                |
[INFO] [stdout]     |                                 |                the same lifetime is hidden here
[INFO] [stdout]     |                                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 206 | fn get_info_from_fields(fields: &Fields) -> (Vec<Cow<'_, Ident>>, Vec<&Type>) {
[INFO] [stdout]     |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]    Compiling lalrpop-util v0.19.12
[INFO] [stderr]    Compiling lalrpop v0.19.12
[INFO] [stderr]     Checking env_logger v0.9.3
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/pushable.rs:218:33
[INFO] [stdout]     |
[INFO] [stdout] 218 | fn get_info_from_fields(fields: &Fields) -> (Vec<Cow<Ident>>, Vec<&Type>) {
[INFO] [stdout]     |                                 ^^^^^^^          ^^^^^^^^^^       ^^^^^ the same lifetime is elided here
[INFO] [stdout]     |                                 |                |
[INFO] [stdout]     |                                 |                the same lifetime is hidden here
[INFO] [stdout]     |                                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 218 | fn get_info_from_fields(fields: &Fields) -> (Vec<Cow<'_, Ident>>, Vec<&Type>) {
[INFO] [stdout]     |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/trace.rs:206:33
[INFO] [stdout]     |
[INFO] [stdout] 206 | fn get_info_from_fields(fields: &Fields) -> (Vec<Cow<Ident>>, Vec<&Type>) {
[INFO] [stdout]     |                                 ^^^^^^^          ^^^^^^^^^^       ^^^^^ the same lifetime is elided here
[INFO] [stdout]     |                                 |                |
[INFO] [stdout]     |                                 |                the same lifetime is hidden here
[INFO] [stdout]     |                                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 206 | fn get_info_from_fields(fields: &Fields) -> (Vec<Cow<'_, Ident>>, Vec<&Type>) {
[INFO] [stdout]     |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking futures-executor v0.3.32
[INFO] [stderr]     Checking gluon-salsa v0.15.2
[INFO] [stderr]    Compiling codespan-reporting v0.11.1
[INFO] [stderr]    Compiling serde_state v0.4.9
[INFO] [stderr]     Checking futures v0.3.32
[INFO] [stderr]     Checking codespan v0.11.1
[INFO] [stderr]     Checking gluon_base v0.18.2
[INFO] [stderr]     Checking gluon_check v0.18.2
[INFO] [stderr]     Checking gluon_format v0.18.2
[INFO] [stderr]    Compiling gluon v0.18.2
[INFO] [stderr]    Compiling gluon_parser v0.18.2
[INFO] [stdout] warning: struct `Empty` is never constructed
[INFO] [stdout]   --> tests/derive_userdata.rs:76:8
[INFO] [stdout]    |
[INFO] [stdout] 76 | struct Empty;
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/derive_userdata.rs:19:10
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[derive(Userdata, Trace, Debug, VmType)]
[INFO] [stdout]    |          ^-------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Userdata` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_USERDATA_FOR_WindowHandle`
[INFO] [stdout] 20 | #[gluon(vm_type = "WindowHandle")]
[INFO] [stdout] 21 | struct WindowHandle {
[INFO] [stdout]    |        ------------ `WindowHandle` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Userdata` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Userdata` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Userdata` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/derive_userdata.rs:19:20
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[derive(Userdata, Trace, Debug, VmType)]
[INFO] [stdout]    |                    ^----
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    `Trace` is not local
[INFO] [stdout]    |                    move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_WindowHandle`
[INFO] [stdout] 20 | #[gluon(vm_type = "WindowHandle")]
[INFO] [stdout] 21 | struct WindowHandle {
[INFO] [stdout]    |        ------------ `WindowHandle` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/derive_userdata.rs:19:34
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[derive(Userdata, Trace, Debug, VmType)]
[INFO] [stdout]    |                                  ^-----
[INFO] [stdout]    |                                  |
[INFO] [stdout]    |                                  `VmType` is not local
[INFO] [stdout]    |                                  move the `impl` block outside of this constant `_IMPL_VM_TYPE_FOR_WindowHandle`
[INFO] [stdout] 20 | #[gluon(vm_type = "WindowHandle")]
[INFO] [stdout] 21 | struct WindowHandle {
[INFO] [stdout]    |        ------------ `WindowHandle` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `VmType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `VmType` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `VmType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/derive_userdata.rs:74:10
[INFO] [stdout]    |
[INFO] [stdout] 74 | #[derive(Userdata, Trace, Debug, VmType)]
[INFO] [stdout]    |          ^-------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Userdata` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_USERDATA_FOR_Empty`
[INFO] [stdout] 75 | #[gluon(vm_type = "Empty")]
[INFO] [stdout] 76 | struct Empty;
[INFO] [stdout]    |        ----- `Empty` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Userdata` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Userdata` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Userdata` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/derive_userdata.rs:74:20
[INFO] [stdout]    |
[INFO] [stdout] 74 | #[derive(Userdata, Trace, Debug, VmType)]
[INFO] [stdout]    |                    ^----
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    `Trace` is not local
[INFO] [stdout]    |                    move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_Empty`
[INFO] [stdout] 75 | #[gluon(vm_type = "Empty")]
[INFO] [stdout] 76 | struct Empty;
[INFO] [stdout]    |        ----- `Empty` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/derive_userdata.rs:74:34
[INFO] [stdout]    |
[INFO] [stdout] 74 | #[derive(Userdata, Trace, Debug, VmType)]
[INFO] [stdout]    |                                  ^-----
[INFO] [stdout]    |                                  |
[INFO] [stdout]    |                                  `VmType` is not local
[INFO] [stdout]    |                                  move the `impl` block outside of this constant `_IMPL_VM_TYPE_FOR_Empty`
[INFO] [stdout] 75 | #[gluon(vm_type = "Empty")]
[INFO] [stdout] 76 | struct Empty;
[INFO] [stdout]    |        ----- `Empty` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `VmType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `VmType` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `VmType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/derive_vm_type.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[derive(VmType)]
[INFO] [stdout]    |          ^-----
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `VmType` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_VM_TYPE_FOR_Struct`
[INFO] [stdout] 14 | #[allow(unused)]
[INFO] [stdout] 15 | struct Struct {
[INFO] [stdout]    |        ------ `Struct` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `VmType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `VmType` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `VmType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/derive_vm_type.rs:31:10
[INFO] [stdout]    |
[INFO] [stdout] 31 | #[derive(VmType, Serialize, Deserialize)]
[INFO] [stdout]    |          ^-----
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `VmType` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_VM_TYPE_FOR_Enum`
[INFO] [stdout] 32 | #[allow(unused)]
[INFO] [stdout] 33 | enum Enum {
[INFO] [stdout]    |      ---- `Enum` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `VmType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `VmType` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `VmType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/derive_vm_type.rs:52:10
[INFO] [stdout]    |
[INFO] [stdout] 52 | #[derive(VmType)]
[INFO] [stdout]    |          ^-----
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `VmType` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_VM_TYPE_FOR_NewtypeInner`
[INFO] [stdout] 53 | #[allow(unused)]
[INFO] [stdout] 54 | struct NewtypeInner(Struct);
[INFO] [stdout]    |        ------------ `NewtypeInner` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `VmType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `VmType` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `VmType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/derive_vm_type.rs:66:10
[INFO] [stdout]    |
[INFO] [stdout] 66 | #[derive(VmType)]
[INFO] [stdout]    |          ^-----
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `VmType` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_VM_TYPE_FOR_Newtype`
[INFO] [stdout] ...
[INFO] [stdout] 69 | struct Newtype(Struct);
[INFO] [stdout]    |        ------- `Newtype` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `VmType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `VmType` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `VmType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/derive_pushable.rs:23:10
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[derive(Pushable, VmType, Serialize, Deserialize)]
[INFO] [stdout]    |          ^-------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Pushable` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_PUSHABLE_FOR_Struct`
[INFO] [stdout] 24 | #[gluon(vm_type = "types.Struct")]
[INFO] [stdout] 25 | struct Struct {
[INFO] [stdout]    |        ------ `Struct` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Pushable` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Pushable` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Pushable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/derive_pushable.rs:23:20
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[derive(Pushable, VmType, Serialize, Deserialize)]
[INFO] [stdout]    |                    ^-----
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    `VmType` is not local
[INFO] [stdout]    |                    move the `impl` block outside of this constant `_IMPL_VM_TYPE_FOR_Struct`
[INFO] [stdout] 24 | #[gluon(vm_type = "types.Struct")]
[INFO] [stdout] 25 | struct Struct {
[INFO] [stdout]    |        ------ `Struct` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `VmType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `VmType` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `VmType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/derive_pushable.rs:81:10
[INFO] [stdout]    |
[INFO] [stdout] 81 | #[derive(Pushable, VmType)]
[INFO] [stdout]    |          ^-------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Pushable` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_PUSHABLE_FOR_GenericStruct`
[INFO] [stdout] 82 | #[gluon(vm_type = "types.GenericStruct")]
[INFO] [stdout] 83 | struct GenericStruct<T> {
[INFO] [stdout]    |        ------------- `GenericStruct` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Pushable` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Pushable` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Pushable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/derive_pushable.rs:81:20
[INFO] [stdout]    |
[INFO] [stdout] 81 | #[derive(Pushable, VmType)]
[INFO] [stdout]    |                    ^-----
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    `VmType` is not local
[INFO] [stdout]    |                    move the `impl` block outside of this constant `_IMPL_VM_TYPE_FOR_GenericStruct`
[INFO] [stdout] 82 | #[gluon(vm_type = "types.GenericStruct")]
[INFO] [stdout] 83 | struct GenericStruct<T> {
[INFO] [stdout]    |        ------------- `GenericStruct` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `VmType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `VmType` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `VmType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/derive_pushable.rs:138:10
[INFO] [stdout]     |
[INFO] [stdout] 138 | #[derive(Pushable, VmType, Serialize, Deserialize)]
[INFO] [stdout]     |          ^-------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `Pushable` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_PUSHABLE_FOR_LifetimeStruct`
[INFO] [stdout] 139 | #[gluon(vm_type = "types.LifetimeStruct")]
[INFO] [stdout] 140 | struct LifetimeStruct<'a> {
[INFO] [stdout]     |        -------------- `LifetimeStruct` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Pushable` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Pushable` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Pushable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/derive_pushable.rs:138:20
[INFO] [stdout]     |
[INFO] [stdout] 138 | #[derive(Pushable, VmType, Serialize, Deserialize)]
[INFO] [stdout]     |                    ^-----
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    `VmType` is not local
[INFO] [stdout]     |                    move the `impl` block outside of this constant `_IMPL_VM_TYPE_FOR_LifetimeStruct`
[INFO] [stdout] 139 | #[gluon(vm_type = "types.LifetimeStruct")]
[INFO] [stdout] 140 | struct LifetimeStruct<'a> {
[INFO] [stdout]     |        -------------- `LifetimeStruct` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `VmType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `VmType` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `VmType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/derive_pushable.rs:189:10
[INFO] [stdout]     |
[INFO] [stdout] 189 | #[derive(Pushable, VmType, Serialize, Deserialize)]
[INFO] [stdout]     |          ^-------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `Pushable` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_PUSHABLE_FOR_Enum`
[INFO] [stdout] 190 | #[gluon(vm_type = "types.Enum")]
[INFO] [stdout] 191 | enum Enum {
[INFO] [stdout]     |      ---- `Enum` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Pushable` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Pushable` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Pushable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/derive_pushable.rs:189:20
[INFO] [stdout]     |
[INFO] [stdout] 189 | #[derive(Pushable, VmType, Serialize, Deserialize)]
[INFO] [stdout]     |                    ^-----
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    `VmType` is not local
[INFO] [stdout]     |                    move the `impl` block outside of this constant `_IMPL_VM_TYPE_FOR_Enum`
[INFO] [stdout] 190 | #[gluon(vm_type = "types.Enum")]
[INFO] [stdout] 191 | enum Enum {
[INFO] [stdout]     |      ---- `Enum` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `VmType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `VmType` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `VmType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/full.rs:16:28
[INFO] [stdout]    |
[INFO] [stdout] 16 | #[derive(Debug, PartialEq, Getable, Pushable, VmType)]
[INFO] [stdout]    |                            ^------
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            `Getable` is not local
[INFO] [stdout]    |                            move the `impl` block outside of this constant `_IMPL_GETABLE_FOR_Struct`
[INFO] [stdout] 17 | struct Struct {
[INFO] [stdout]    |        ------ `Struct` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Getable` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Getable` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Getable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/full.rs:16:37
[INFO] [stdout]    |
[INFO] [stdout] 16 | #[derive(Debug, PartialEq, Getable, Pushable, VmType)]
[INFO] [stdout]    |                                     ^-------
[INFO] [stdout]    |                                     |
[INFO] [stdout]    |                                     `Pushable` is not local
[INFO] [stdout]    |                                     move the `impl` block outside of this constant `_IMPL_PUSHABLE_FOR_Struct`
[INFO] [stdout] 17 | struct Struct {
[INFO] [stdout]    |        ------ `Struct` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Pushable` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Pushable` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Pushable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/full.rs:16:47
[INFO] [stdout]    |
[INFO] [stdout] 16 | #[derive(Debug, PartialEq, Getable, Pushable, VmType)]
[INFO] [stdout]    |                                               ^-----
[INFO] [stdout]    |                                               |
[INFO] [stdout]    |                                               `VmType` is not local
[INFO] [stdout]    |                                               move the `impl` block outside of this constant `_IMPL_VM_TYPE_FOR_Struct`
[INFO] [stdout] 17 | struct Struct {
[INFO] [stdout]    |        ------ `Struct` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `VmType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `VmType` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `VmType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/full.rs:64:28
[INFO] [stdout]    |
[INFO] [stdout] 64 | #[derive(Debug, PartialEq, VmType, Pushable, Getable)]
[INFO] [stdout]    |                            ^-----
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            `VmType` is not local
[INFO] [stdout]    |                            move the `impl` block outside of this constant `_IMPL_VM_TYPE_FOR_Newtype`
[INFO] [stdout] 65 | struct Newtype(pub Struct);
[INFO] [stdout]    |        ------- `Newtype` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `VmType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `VmType` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `VmType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/full.rs:64:36
[INFO] [stdout]    |
[INFO] [stdout] 64 | #[derive(Debug, PartialEq, VmType, Pushable, Getable)]
[INFO] [stdout]    |                                    ^-------
[INFO] [stdout]    |                                    |
[INFO] [stdout]    |                                    `Pushable` is not local
[INFO] [stdout]    |                                    move the `impl` block outside of this constant `_IMPL_PUSHABLE_FOR_Newtype`
[INFO] [stdout] 65 | struct Newtype(pub Struct);
[INFO] [stdout]    |        ------- `Newtype` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Pushable` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Pushable` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Pushable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/full.rs:64:46
[INFO] [stdout]    |
[INFO] [stdout] 64 | #[derive(Debug, PartialEq, VmType, Pushable, Getable)]
[INFO] [stdout]    |                                              ^------
[INFO] [stdout]    |                                              |
[INFO] [stdout]    |                                              `Getable` is not local
[INFO] [stdout]    |                                              move the `impl` block outside of this constant `_IMPL_GETABLE_FOR_Newtype`
[INFO] [stdout] 65 | struct Newtype(pub Struct);
[INFO] [stdout]    |        ------- `Newtype` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Getable` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Getable` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Getable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LifetimeStruct` is never constructed
[INFO] [stdout]    --> tests/derive_getable.rs:206:8
[INFO] [stdout]     |
[INFO] [stdout] 206 | struct LifetimeStruct<'a> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/derive_getable.rs:28:10
[INFO] [stdout]    |
[INFO] [stdout] 28 | #[derive(Getable, VmType, Debug, Serialize, Deserialize)]
[INFO] [stdout]    |          ^------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Getable` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_GETABLE_FOR_TupleEnum`
[INFO] [stdout] 29 | #[gluon(vm_type = "types.TupleEnum")]
[INFO] [stdout] 30 | enum TupleEnum {
[INFO] [stdout]    |      --------- `TupleEnum` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Getable` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Getable` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Getable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/derive_getable.rs:28:19
[INFO] [stdout]    |
[INFO] [stdout] 28 | #[derive(Getable, VmType, Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                   ^-----
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   `VmType` is not local
[INFO] [stdout]    |                   move the `impl` block outside of this constant `_IMPL_VM_TYPE_FOR_TupleEnum`
[INFO] [stdout] 29 | #[gluon(vm_type = "types.TupleEnum")]
[INFO] [stdout] 30 | enum TupleEnum {
[INFO] [stdout]    |      --------- `TupleEnum` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `VmType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `VmType` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `VmType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/derive_getable.rs:73:10
[INFO] [stdout]    |
[INFO] [stdout] 73 | #[derive(Getable, VmType, Debug, Serialize, Deserialize)]
[INFO] [stdout]    |          ^------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Getable` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_GETABLE_FOR_StructEnum`
[INFO] [stdout] 74 | #[gluon(vm_type = "types.StructEnum")]
[INFO] [stdout] 75 | enum StructEnum {
[INFO] [stdout]    |      ---------- `StructEnum` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Getable` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Getable` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Getable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/derive_getable.rs:73:19
[INFO] [stdout]    |
[INFO] [stdout] 73 | #[derive(Getable, VmType, Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                   ^-----
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   `VmType` is not local
[INFO] [stdout]    |                   move the `impl` block outside of this constant `_IMPL_VM_TYPE_FOR_StructEnum`
[INFO] [stdout] 74 | #[gluon(vm_type = "types.StructEnum")]
[INFO] [stdout] 75 | enum StructEnum {
[INFO] [stdout]    |      ---------- `StructEnum` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `VmType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `VmType` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `VmType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/derive_getable.rs:115:10
[INFO] [stdout]     |
[INFO] [stdout] 115 | #[derive(Getable, VmType)]
[INFO] [stdout]     |          ^------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `Getable` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_GETABLE_FOR_Either`
[INFO] [stdout] 116 | enum Either<L, R> {
[INFO] [stdout]     |      ------ `Either` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Getable` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Getable` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Getable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/derive_getable.rs:115:19
[INFO] [stdout]     |
[INFO] [stdout] 115 | #[derive(Getable, VmType)]
[INFO] [stdout]     |                   ^-----
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `VmType` is not local
[INFO] [stdout]     |                   move the `impl` block outside of this constant `_IMPL_VM_TYPE_FOR_Either`
[INFO] [stdout] 116 | enum Either<L, R> {
[INFO] [stdout]     |      ------ `Either` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `VmType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `VmType` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `VmType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/derive_getable.rs:174:10
[INFO] [stdout]     |
[INFO] [stdout] 174 | #[derive(Getable, Pushable, VmType)]
[INFO] [stdout]     |          ^------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `Getable` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_GETABLE_FOR_Enum`
[INFO] [stdout] 175 | enum Enum {
[INFO] [stdout]     |      ---- `Enum` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Getable` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Getable` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Getable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/derive_getable.rs:174:19
[INFO] [stdout]     |
[INFO] [stdout] 174 | #[derive(Getable, Pushable, VmType)]
[INFO] [stdout]     |                   ^-------
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `Pushable` is not local
[INFO] [stdout]     |                   move the `impl` block outside of this constant `_IMPL_PUSHABLE_FOR_Enum`
[INFO] [stdout] 175 | enum Enum {
[INFO] [stdout]     |      ---- `Enum` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Pushable` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Pushable` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Pushable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/derive_getable.rs:174:29
[INFO] [stdout]     |
[INFO] [stdout] 174 | #[derive(Getable, Pushable, VmType)]
[INFO] [stdout]     |                             ^-----
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `VmType` is not local
[INFO] [stdout]     |                             move the `impl` block outside of this constant `_IMPL_VM_TYPE_FOR_Enum`
[INFO] [stdout] 175 | enum Enum {
[INFO] [stdout]     |      ---- `Enum` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `VmType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `VmType` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `VmType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/derive_getable.rs:205:10
[INFO] [stdout]     |
[INFO] [stdout] 205 | #[derive(Getable)]
[INFO] [stdout]     |          ^------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `Getable` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_GETABLE_FOR_LifetimeStruct`
[INFO] [stdout] 206 | struct LifetimeStruct<'a> {
[INFO] [stdout]     |        -------------- `LifetimeStruct` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Getable` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Getable` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Getable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/derive_getable.rs:213:10
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Getable, VmType, Debug, Serialize, Deserialize)]
[INFO] [stdout]     |          ^------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `Getable` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_GETABLE_FOR_Struct`
[INFO] [stdout] 214 | #[gluon(vm_type = "types.Struct")]
[INFO] [stdout] 215 | struct Struct {
[INFO] [stdout]     |        ------ `Struct` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Getable` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Getable` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Getable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/derive_getable.rs:213:19
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Getable, VmType, Debug, Serialize, Deserialize)]
[INFO] [stdout]     |                   ^-----
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `VmType` is not local
[INFO] [stdout]     |                   move the `impl` block outside of this constant `_IMPL_VM_TYPE_FOR_Struct`
[INFO] [stdout] 214 | #[gluon(vm_type = "types.Struct")]
[INFO] [stdout] 215 | struct Struct {
[INFO] [stdout]     |        ------ `Struct` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `VmType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `VmType` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `VmType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/derive_getable.rs:254:41
[INFO] [stdout]     |
[INFO] [stdout] 254 | #[derive(Serialize, Deserialize, Debug, VmType, Getable)]
[INFO] [stdout]     |                                         ^-----
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         `VmType` is not local
[INFO] [stdout]     |                                         move the `impl` block outside of this constant `_IMPL_VM_TYPE_FOR_TupleStruct`
[INFO] [stdout] 255 | #[gluon(vm_type = "types.TupleStruct")]
[INFO] [stdout] 256 | struct TupleStruct(i32, i32);
[INFO] [stdout]     |        ----------- `TupleStruct` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `VmType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `VmType` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `VmType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/derive_getable.rs:254:49
[INFO] [stdout]     |
[INFO] [stdout] 254 | #[derive(Serialize, Deserialize, Debug, VmType, Getable)]
[INFO] [stdout]     |                                                 ^------
[INFO] [stdout]     |                                                 |
[INFO] [stdout]     |                                                 `Getable` is not local
[INFO] [stdout]     |                                                 move the `impl` block outside of this constant `_IMPL_GETABLE_FOR_TupleStruct`
[INFO] [stdout] 255 | #[gluon(vm_type = "types.TupleStruct")]
[INFO] [stdout] 256 | struct TupleStruct(i32, i32);
[INFO] [stdout]     |        ----------- `TupleStruct` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Getable` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Getable` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Getable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/pushable.rs:218:33
[INFO] [stdout]     |
[INFO] [stdout] 218 | fn get_info_from_fields(fields: &Fields) -> (Vec<Cow<Ident>>, Vec<&Type>) {
[INFO] [stdout]     |                                 ^^^^^^^          ^^^^^^^^^^       ^^^^^ the same lifetime is elided here
[INFO] [stdout]     |                                 |                |
[INFO] [stdout]     |                                 |                the same lifetime is hidden here
[INFO] [stdout]     |                                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 218 | fn get_info_from_fields(fields: &Fields) -> (Vec<Cow<'_, Ident>>, Vec<&Type>) {
[INFO] [stdout]     |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/trace.rs:206:33
[INFO] [stdout]     |
[INFO] [stdout] 206 | fn get_info_from_fields(fields: &Fields) -> (Vec<Cow<Ident>>, Vec<&Type>) {
[INFO] [stdout]     |                                 ^^^^^^^          ^^^^^^^^^^       ^^^^^ the same lifetime is elided here
[INFO] [stdout]     |                                 |                |
[INFO] [stdout]     |                                 |                the same lifetime is hidden here
[INFO] [stdout]     |                                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 206 | fn get_info_from_fields(fields: &Fields) -> (Vec<Cow<'_, Ident>>, Vec<&Type>) {
[INFO] [stdout]     |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 20s
[INFO] running `Command { std: "docker" "inspect" "7b8752cc25639f4b2f8ddedf34c62e5ba5210f2216926113fb2eda9baaccc7e9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7b8752cc25639f4b2f8ddedf34c62e5ba5210f2216926113fb2eda9baaccc7e9", kill_on_drop: false }`
[INFO] [stdout] 7b8752cc25639f4b2f8ddedf34c62e5ba5210f2216926113fb2eda9baaccc7e9
